package com.jzo2o.customer.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jzo2o.common.model.PageResult;
import com.jzo2o.customer.model.domain.AgencyCertificationAudit;
import com.jzo2o.customer.model.dto.request.AgencyCertificationAuditAddReqDTO;
import com.jzo2o.customer.model.dto.request.AgencyCertificationAuditPageQueryReqDTO;
import com.jzo2o.customer.model.dto.request.CertificationAuditReqDTO;
import com.jzo2o.customer.model.dto.response.AgencyCertificationAuditResDTO;
import com.jzo2o.customer.model.dto.response.RejectReasonResDTO;

public interface IAgencyCertificationAuditService extends IService<AgencyCertificationAudit> {

    /**
     * 机构提交认证审核申请
     * @param agencyCertificationAuditAddReqDTO
     */
    void auditSubmit(AgencyCertificationAuditAddReqDTO agencyCertificationAuditAddReqDTO);

    /**
     * 审核服务机构认证分页查询
     * @param agencyCertificationAuditPageQueryReqDTO
     * @return
     */
    PageResult<AgencyCertificationAuditResDTO> pageQueryAgencyAudit(AgencyCertificationAuditPageQueryReqDTO agencyCertificationAuditPageQueryReqDTO);

    /**
     * 审核服务机构认证
     * @param id
     * @param certificationAuditReqDTO
     */
    void audit(Long id, CertificationAuditReqDTO certificationAuditReqDTO);

    /**
     * 查询最新的驳回原因
     * @return
     */
    RejectReasonResDTO rejectReason();
}
